package com.hq.common.activiti;

import java.util.List;
import java.util.Map;

public interface IWorkFlowService {
	/**
	 * 返回布署后的所有流程定义
	 * @return
	 */
	public List<Map<String, Object>> getProcessDefinition();
	
	/**
	 * 根据流程定义的key和用户id,启动流程
	 * @param key
	 * @param userId 设置流程的启动者
	 * @return 返回流程实例的id,name
	 */
	public Map<String, Object> initProcessByKey(String key,String userId);
	
	
	/**
	 * 根据流程定义的key,启动流程
	 * @param key
	 * @param variables 流程初始化的参数
	 * @return 返回流程实例的id,name
	 */
	public Map<String, Object> initProcessByKey(String key,Map<String, Object> variables);
	
	/**
	 * 根据流程实例id,查询所有的任务
	 * @param id
	 * @return 返回任务列表[{taskId:'',taskName:''}]
	 */
	public List<Map<String,Object>> getTaskByInstanceId(String id);
}
